Composing graphical user interfaces in a purely functional language

نویسنده

  • Sigbjorn O. Finnie
چکیده

This thesis is about building interactive graphical user interfaces in a compositional manner. Graphical user interface applications hold out the promise of providing users with an interactive, graphical medium by which they can carry out tasks more eeectively and conveniently. The application aids the user to solve some task. Conceptually, the user is in charge of the graphical medium, controlling the order and the rate at which individual actions are performed. This user-centred nature of graphical user interfaces has considerable ramiications for how software is structured. Since the application now services the user rather than the other way around, it has to be capable of responding to the user's actions when and in whatever order they might occur. This transfer of overall control towards the user places a heavy burden on programming systems, a burden that many systems don't support too well. Why? Because the application now has to be structured so that it is responsive to whatever action the user may perform at any time. The main contribution of this thesis is to present a compositional approach to constructing graphical user interface applications in a purely functional programming language. The thesis is concerned with the software techniques used to program graphical user interface applications, and not directly with their design. A starting point for the work presented here was to examine whether an approach based on functional programming could improve how graphical user interfaces are built. Functional programming languages, and Haskell in particular, contain a number of distinctive features such as higher-order functions, polymor-phic type systems, lazy evaluation, and systematic overloading, that together pack quite a punch, at least according to proponents of these languages. A secondary contribution of this thesis is to present a compositional user interface framework called Haggis, which makes good use of current functional programming techniques. The thesis evaluates the properties of this framework by comparing it to existing systems. iv Contents Abstract iii 1 Introduction 1

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Composing the User Interface with Haggis

This tutorial presents Haggis, a graphical user interface framework written in the lazy functional language Haskell. The Haggis framework provides the programmer with a compositional view of graphical user interfaces , where complete GUI applications can be built by repeatedly composing together parts. The individual user interface components are treated as virtual I/O devices that can be inter...

متن کامل

Pictures : A simple structured graphics

We present in this paper a simple graphical model for describing graphics using a functional language. Two-dimensional graphical scenes are represented using a recursive data type, where pictures are constructed by repeatedly composing smaller pictures together. The model is device-independent and provides the basic capabilities of a purely functional page description language. One novel aspect...

متن کامل

A New Trust Model for B2C E-Commerce Based on 3D User Interfaces

Lack of trust is one of the key bottle necks in e-commerce development. Nowadays many advanced technologies are trying to address the trust issues in e-commerce. One among them suggests using suitable user interfaces. This paper investigates the functionality and capabilities of 3D graphical user interfaces in regard to trust building in the customers of next generation of B2C e-commerce websit...

متن کامل

Elm: Concurrent FRP for Functional GUIs

Graphical user interfaces (GUIs) mediate almost all of our interactions with computers, whether it is through web pages, phone apps, or desktop applications. Functional Reactive Programming (FRP) is a promising approach to GUI design. This thesis presents Elm, a concurrent FRP language focused on easily creating responsive GUIs. Elm has two major features: (1) purely functional graphical layout...

متن کامل

Communicating Functional Agents and Their Application to Graphical User Interfaces

We demonstrate how concepts of communicating agents can be integrated into purely functional languages by an orthogonal extension of the usual I/O monad. These agents communicate via so-called service access points and support programming in the style of client-server architectures. We then show the feasibility of the approach by applying it to the example of graphical user interfaces, which we...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998